Docker 部署 【微服务】

部署须知

本部署文档将自动创建 MySQL 与 Redis 服务,无需修改任何参数即可直接执行。如需自定义配置,请确保具备相应的 Docker 与 Compose 基础技能,这与软件本身无关,恕无法提供技术支持。

Docker Compose 编排架构

整体架构

PIGX 平台采用双 Compose 文件编排模式,通过共享 Docker 网络实现前后端协同部署。

graph LR
    subgraph "后端微服务编排 (pigx/docker-compose.yml)"
        direction TB

        subgraph Infra["📦 基础设施层"]
            MySQL[pigx-mysql<br/>MySQL 8.0<br/>端口: 3306]
            Redis[pigx-redis<br/>Redis<br/>端口: 6379]
        end

        subgraph Platform["🎯 平台层"]
            Nacos[pigx-register<br/>Nacos 注册中心<br/>端口: 8848/9848/18080]
        end

        subgraph Core["🚪 核心层"]
            Gateway[pigx-gateway<br/>API 网关<br/>端口: 9999]
            Auth[pigx-auth<br/>OAuth2 认证]
        end

        subgraph Business["💼 业务层"]
            UPMS[pigx-upms<br/>用户权限管理]
            AIGC[pigx-aigc<br/>AI 知识库]
            Flow[pigx-flow<br/>工作流引擎]
            App[pigx-app-server<br/>移动端服务]
        end

        subgraph Visual["📊 可视化平台"]
            Monitor[pigx-monitor<br/>监控平台<br/>端口: 5001]
            CodeGen[pigx-codegen<br/>代码生成]
            Report[pigx-report<br/>报表平台<br/>端口: 9095]
            Jimu[pigx-jimu<br/>低代码平台<br/>端口: 5008]
        end

        Network1[创建 Docker 网络<br/>spring_cloud_default<br/>driver: bridge]
    end

    subgraph "前端UI编排 (pigx-ui-pro/docker/docker-compose.yaml)"
        direction TB
        UI[pigx-ui<br/>Vue3 管理后台<br/>端口: 80]
        Network2[加入外部网络<br/>spring_cloud_default<br/>external: true]
    end

    %% 依赖关系
    MySQL --> Nacos
    Redis --> Nacos
    Nacos --> Gateway
    Nacos --> Auth
    Gateway --> UPMS
    Gateway --> AIGC
    Gateway --> Flow
    Gateway --> App
    Auth --> UPMS

    %% 网络连接
    Infra -.-> Network1
    Platform -.-> Network1
    Core -.-> Network1
    Business -.-> Network1
    Visual -.-> Network1

    Network1 -.->|网络共享| Network2
    Network2 --> UI
    UI -->|external_links| Gateway

    style Network1 fill:#e1f5ff,stroke:#01579b,stroke-width:2px
    style Network2 fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
    style UI fill:#fff3e0,stroke:#e65100,stroke-width:2px

环境安装

环境要求

资源要求

最低配置:4C/16G(可用资源),适用于微服务架构的生产环境部署。

Docker Compose 是 Docker 官方编排项目之一,负责快速部署分布式应用。

安装 Docker

bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

其他依赖

请自行安装以下 Java 开发环境:

  • Java 17
  • Maven 3.9+

部署服务端

编译源代码

在服务端代码根目录(pigx)执行编译命令:

编译参数

微服务版本必须使用 -Pcloud 参数,单体版本使用 -Pboot 参数。

cd pigx
mvn clean install -Pcloud
编译成功示例

构建并启动容器

在 pigx 根目录执行 Docker Compose 命令:

cd pigx

# 构建镜像
docker compose build

# 启动容器(首次启动建议不加 -d 参数,方便查看日志)
docker compose up -d
启动时间

微服务版本启动较慢,通常需要 5 分钟左右。请耐心等待所有服务完全启动。

验证服务

等待约 5 分钟后,访问 Nacos 控制台确认所有服务已注册:

http://宿主机IP:18080
启动成功

所有微服务(网关、认证、UPMS 等)在 Nacos 控制台显示为"健康"状态,说明服务已成功启动。

部署前端

构建前端

安装依赖并构建生产版本:

cd pigx-ui

# 安装依赖
npm install --registry=https://registry.npmmirror.com

# 构建 Docker 部署版本
npm run build:docker

部署前端容器

cd pigx-ui/docker

docker compose build && docker compose up -d
网络通信

Docker Compose 会自动创建默认网络,容器间通过容器名称进行服务发现和 DNS 解析,无需修改 hosts 文件。

访问系统

前端访问地址:

http://宿主机IP:80
默认账户

默认用户名:admin 默认密码:123456